package com.security.dataprocess.model;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author H
 * @since 2023-02-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="MapCamerainfo对象", description="")
public class MapCamerainfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "状态，1:为最新更新的状态，当前正在使用，2：为上次更新的状态， 每次同步前将先state为2的删除， 将state为1的记录更新为2，重新插入新的记录")
    @TableField("updateState")
    private Integer updateState;

    @ApiModelProperty(value = "cameraIndexCode")
    @TableField("cameraIndexCode")
    private String cameraIndexCode;

    @ApiModelProperty(value = "监控点国标编号")
    @TableField("gbIndexCode")
    private String gbIndexCode;

    @ApiModelProperty(value = "监控点名称")
    private String name;

    @ApiModelProperty(value = "所属设备编号(通用唯一识别码UUID)")
    @TableField("deviceIndexCode")
    private String deviceIndexCode;

    @ApiModelProperty(value = "经度（WGS84坐标系）")
    private String longitude;

    @ApiModelProperty(value = "纬度（WGS84坐标系）")
    private String latitude;

    @ApiModelProperty(value = "海拔高度（WGS84坐标系，单位：米）")
    private String altitude;

    private String geometry;

    @ApiModelProperty(value = "摄像机像素（1-普通像素，2-130万高清，3-200万高清，4-300万高清，取值参考【数据字典】，typeCode为xresmgr.piexl）")
    private Integer pixel;

    @ApiModelProperty(value = "监控点类型（0-枪机,1-半球,2-快球,3-带云台枪机,取值参考【数据字典】，typeCode为xresmgr.camera_type）")
    @TableField("cameraType")
    private Integer cameraType;

    @ApiModelProperty(value = "监控点类型说明")
    @TableField("cameraTypeName")
    private String cameraTypeName;

    @ApiModelProperty(value = "安装位置")
    @TableField("installPlace")
    private String installPlace;

    @ApiModelProperty(value = "矩阵编号")
    @TableField("matrixCode")
    private String matrixCode;

    @ApiModelProperty(value = "可视域相关（JSON格式）")
    private String viewshed;

    @ApiModelProperty(value = "录像存储位置（0-中心存储，1-设备存储，取值参考【数据字典】，typeCode为xresmgr.record_location")
    @TableField("recordLocation")
    private Integer recordLocation;

    @ApiModelProperty(value = "云镜类型（1-全方位云台（带转动和变焦），2-只有变焦,不带转动，3-只有转动，不带变焦，4-无云台")
    private Integer ptz;

    @ApiModelProperty(value = "云镜类型说明")
    @TableField("ptzName")
    private String ptzName;

    @ApiModelProperty(value = "云台控制（1-DVR,2-模拟矩阵,3-MU4000,4-NC600")
    @TableField("ptzController")
    private Integer ptzController;

    @ApiModelProperty(value = "云台控制说明")
    @TableField("ptzControllerName")
    private String ptzControllerName;

    @ApiModelProperty(value = "所属设备类型")
    @TableField("deviceResourceType")
    private String deviceResourceType;

    @ApiModelProperty(value = "所属设备类型说明")
    @TableField("deviceResourceTypeName")
    private String deviceResourceTypeName;

    @ApiModelProperty(value = "监控点更新时间（IOS8601格式yyyy-MM-dd’T’HH:mm:ss.SSSXXX）")
    @TableField("updateTime")
    private String updateTime;

    @ApiModelProperty(value = "所属区域编号（通用唯一识别码UUID）")
    @TableField("unitIndexCode")
    private String unitIndexCode;

    @ApiModelProperty(value = "接入协议")
    @TableField("treatyType")
    private String treatyType;

    @ApiModelProperty(value = "接入协议类型说明")
    @TableField("treatyTypeName")
    private String treatyTypeName;

    @ApiModelProperty(value = "监控点创建时间（IOS8601格式yyyy-MM-dd’T’HH:mm:ss.SSSXXX）")
    @TableField("createTime")
    private String createTime;

    @ApiModelProperty(value = "在线状态（0-不在线，1-在线)")
    private Integer status;

    @ApiModelProperty(value = "状态说明")
    @TableField("statusName")
    private String statusName;

    @ApiModelProperty(value = "记录创建时间格(式yyyy-MM-dd’T’HH:mm:ss)")
    @TableField("recordCreateTime")
    private Date recordCreateTime;


}
